php forum
php mysql forum
php mysql smarty
 
Topic Options
#316796 - 03/09/08 01:11 PM [7.2.2] Clearcache also resets NEW PM counters
blaaskaak Offline
Enthusiast

Registered: 02/25/07
Posts: 329
Loc: The Netherlands
If you happen to have a spammer, and you need to clean up the mess, this script adds functionality to the clearcache script that will cleanup the NEW PM counters. If will reset them to the actual new count.

open /admin/doclearcache.php

find
Code:
build_forum_cache();


add below:
Code:
// Update all new PM counters

// set them all to zero.

$query = "
		update	{$config['TABLE_PREFIX']}USER_PROFILE
		set	USER_TOTAL_PM = 0
";
$sth = $dbh->do_query($query,__LINE__,__FILE__);

// cycle through all user ID's that have New PM's.

$query = "
	SELECT count(*) AS count, t1.USER_ID
	FROM {$config['TABLE_PREFIX']}PRIVATE_MESSAGE_USERS AS t1, 
	      {$config['TABLE_PREFIX']}PRIVATE_MESSAGE_TOPICS AS t2
	WHERE t1.TOPIC_ID = t2.TOPIC_ID
	AND   t2.TOPIC_LAST_REPLY_TIME > t1.MESSAGE_LAST_READ
	GROUP BY t1.USER_ID
";

$sti = $dbh->do_query($query,__LINE__,__FILE__);
while (list($total_unread,$PM_UserId) = $dbh -> fetch_array($sti)) {
	$query = "
		update	{$config['TABLE_PREFIX']}USER_PROFILE
		set	USER_TOTAL_PM = ?
		where	USER_ID = ?
	";
	$dbh->do_placeholder_query($query,array($total_unread,$PM_UserId),__LINE__,__FILE__);	
}


I have no idea about executing times if you have an enormous userbase. But works fine on our >5600 users / >37000 private topics.


Edited by blaaskaak (03/10/08 08:07 AM)
Edit Reason: new version
_________________________

Top
#316797 - 03/10/08 08:09 AM Re: [7.2.2] Clearcache also resets NEW PM counters [Re: blaaskaak]
blaaskaak Offline
Enthusiast

Registered: 02/25/07
Posts: 329
Loc: The Netherlands
If anyone picked this up yesterday, I just replaced it with a version that's a lot more efficient and runs with a lot less queries.
_________________________

Top
#316798 - 03/13/08 11:11 PM Re: [7.2.2] Clearcache also resets NEW PM counters [Re: blaaskaak]
AllenAyres Offline

I type Like navaho

Registered: 03/10/00
Posts: 25580
Loc: Texas
Nice, this re-counts pm's? It looks like it resets all pm's to 0, then counts new pm's. Our counts of total pm's get back?
_________________________
- Allen wavey
- What Drives You?

Top
#316799 - 03/14/08 07:31 AM Re: [7.2.2] Clearcache also resets NEW PM counters [Re: AllenAyres]
blaaskaak Offline
Enthusiast

Registered: 02/25/07
Posts: 329
Loc: The Netherlands
Yep, that is exactly what it does.

Basicly you only need to run this if you start altering PM database tables yourself for spammer cleanup or whatever.
_________________________

Top
#316801 - 03/15/08 03:59 PM Re: [7.2.2] Clearcache also resets NEW PM counters [Re: blaaskaak]
AllenAyres Offline

I type Like navaho

Registered: 03/10/00
Posts: 25580
Loc: Texas
very helpful, thank you thumbsup
_________________________
- Allen wavey
- What Drives You?

Top



Moderator:  sirdude 
Latest Posts
[7.2.1] - Naked shoutbox
by bellaonline
05/05/12 05:00 PM
[7.x] Stop Forum Spam Integration v0.4
by bellaonline
05/05/12 03:53 PM
Shout Box

(Views)Popular Topics
Known public proxy servers 1689885
Integrated Index Page (IIP) 5.3.1 555705
Finished-[6.5.2] Games Arcade Deluxe v1.9 501236
Integrated Index Page (IIP) 5.1.1 415112
TLD Bv2.1 Released - Threads Links Directory 396822
[6.0x] Who's Online 4.0.0 [Finished] 389412
Finished-[6.5.1] Integrated Index Page (IIP) 6.5 330423
Q & A 298663
Slash UBB 266936
[6.3.x] [beta] Hit Hack 2.0 227970
Forum Stats
13621 Members
59 Forums
37191 Topics
295716 Posts

Max Online: 686 @ 06/28/07 07:04 AM

 

 

 
fusionbb message board php hacks